<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>
     <h3>显示转换</h3>

     <!-- 中文: 我喜欢你 -->
     <!-- 英文: i like you-->

    <script>
        // 字符串  String()
        // console.log(true); // true 布尔值
        // console.log(typeof true); // boolean
        // true  -----> "true"
        // var str = String("true");
        // console.log(str);// true  字符串
        // console.log(typeof str);// string
        // console.log(typeof String(100)); // string
        // console.log(typeof String(null)); // string

        // ============================================

        // 数字 Number()
        // console.log(typeof "100");// string
        // console.log(Number("100"));// 100
        // console.log(typeof Number("100"));// number
        // console.log(Number("xxx100"));// NaN
        // console.log(Number("100xxx"));// NaN  如果仅仅提取字符串中的数字： parseInt("100xxx"); // 100


        // ============================================
        // 布尔值 Boolean()
        // console.log("hello"); // hello
        // console.log(Boolean("hello"));// true
        // console.log(Boolean(1000));// true
        // console.log(Boolean("")); // false
        // console.log(Boolean(0));  // false


        // 总结：
            // 通过调用全局函数进行数据类型的转换，我们叫做显式转换


        // ============================================ 
        // 区别：
        // 以下作为构造函数用于产生指定的数据
        // var arr = ["red"];
        // var arr2 = new Array("red");
        // console.log(arr2);// ["red"]  数据

        // var obj = {}
        // var obj2 = new Object();
        // obj2.width = "100px";
        // console.log(obj2);//          对象

        // var f = function(){}
        // var f = new Function("console.log('这是函数xxx')");
        // console.log(f);//              函数
        // f();// 这表示函数的调用








    </script>
</body>
</html>